Method and apparatus forWeb based storage on demand

ABSTRACT

The distributed virtual SAN infrastructure provides a plurality of host systems with a scalable dynamically expandable distributed virtual storage pool, which includes a virtual storage automatic construct protocol. The distributed virtual SAN infrastructure includes one or more IP SAN units, the management console, the distributing control management station and the network infrastructure, wherein the network infrastructure provides the communication links between all systems in this distributed virtual SAN.

CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application is a continuation patent application based onU.S. patent application Ser. No. 10/713,905, filed on Aug. 12, 2002. Thepresent application also is a continuation-in-part (CIP) of U.S. patentapplication Ser. No. 10/713,904 and U.S. patent application Ser. No.10/116,511 in the name of the same inventor.

FIELD OF THE INVENTION

The present invention generally relates to computer communicationsnetwork. More specifically, the present invention relates to web baseddata storage systems.

BACKGROUND OF THE INVENTION

Today's corporate IT professionals typically face many challenges tohandle the ever increasing information and data. To handle large amountof data, many organizations expand their storage capacity by employingmanage storage systems locally in order to maintaining their normalbusiness operating. A conventional approach is to use IP based networkattached storage (“NAS”), which effectively provides data storage andservices for end users. Moreover, at the enterprise level, the majoritystorage systems are directly attached or connected to server(s) orhost(s) as shown in FIG. 7. These server(s) and/or host(s) are typicallyused as raw block data devices through conventional communicationconnection media, such as traditional IDE, SCSI, Fiber Channel, orEthernet.

The server, which is directly attached to a storage system asillustrated in FIG. 7 typically has many drawbacks, which are describedas following:

a typical conventional storage management system is only capable ofhandling 4 TB (terabytes) of data, which is usually not good enough fora typical enterprise storage management system;

The most of servers, which are directly attached to storage systems,have problems for further expanding their storage capacity. For example,it may require to purchase new servers in order to increase storagecapacity;

The storage being attached to a server can only be accessed by theattached server and can not be shared by other servers even if server'sstorage availability is not evenly distributed across all servers withina organization;

Each attached storage system has to be managed separately and this is anightmare for IT professionals;

With the attached storage system, the backup/restore has to go throughthe data network, this will tax or reduce the network performance;

A typical SCSI connection only allows a 12-meter distance for dataaccessing with 15 storage devices. Similarly, Fiber Channel is limitedto 10 kilometers communication distance. Distance limitation effectivelyprevents them from being the best choice for disaster recovery of thestorage system; and

The Fiber Channel based storage system cannot handle well for theinteroperability. Also, Fiber Channel based storage system is expensiveto build and to maintain.

FIG. 8 shows a conventional type of virtual SAN, which is in-bandcontrolled and accessed with which the data path from hosts (1 of FIG.8) to the SAN units (4 of FIG. 8) going through virtual SAN controlmanagement station (2 of FIG. 8). It is not efficient in term ofaccessing the data by the hosts because the virtual SAN controlmanagement station can easily be a performance bottleneck. Similarly,the scalability of this type of virtual SAN is poor.

SUMMARY

With rapid development of high speed communication technology, theproblems mentioned above can be solved by an IP based out-band accesseddistributed virtual SAN infrastructure (FIG. 1) of this invention. Withthis invention, each host (1 of FIG. 1) can directly access IP based SANunits (4 of FIG. 1) without going through control management station (3of FIG. 1). The IP based out-band accessed distributed virtual SANinfrastructure (FIG. 1) actually represents an example of centralcontrolled distributed scalable virtual machine system (CCDSVM) (FIG.9). Wherein, each system units actually is a SAN unit (4 of FIG. 1),specifically is an IP based SAN unit.

With this invention, each SAN unit (4 of FIG. 1) can be accessed by oneor more hosts (1 of FIG. 1) and each host can access one or more SANunits (FIG. 6). In addition, the storage accessing goes directly throughcommunication link (2 of FIG. 1) between hosts (1 of FIG. 1) and SANunits (4 of FIG. 1) without involvement of the control managementstation (3 of FIG. 1). Further, the SAN units (4 of FIG. 1) can bedynamically added without interrupting normal data accessing from hosts(1 of FIG. 1) and are controlled, monitored, and managed by a controlmanagement station (3 of FIG. 1) through a management console (10 ofFIG. 1). The control management station (3 of FIG. 1) may also acceptstorage volume/partition requests from each host (1 of FIG. 1), andassign the matched volumes/partitions of SAN units (4 of FIG. 1) tothese hosts. Therefore, each host (1 of FIG. 1) could directly accessthe right volumes/partitions of assigned SAN units without going throughthe control management station again.

This invention will become understood with reference to the followingdescription, claims, and accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood more fully from the detaileddescription given below and from the accompanying drawings of variousembodiments of the invention, which, however, should not be taken tolimit the invention to the specific embodiments, but are for explanationand understanding only.

FIG. 1 illustrates a distributed virtual storage area of network (“SAN”)infrastructure in accordance with one embodiment of the presentinvention;

FIG. 2 illustrates actual Components of Distributed Virtual SAN inaccordance with one embodiment of the present invention;

FIG. 3 illustrates Virtual SAN Automatic Configuration Protocol inaccordance with one embodiment of the present invention;

FIG. 4 illustrates a Virtual SAN Auto Configuration Protocol Packetformat in accordance with one embodiment of the present invention;

FIG. 5 illustrates an Example of Storage Volume Information of an IP SANUnit in accordance with one embodiment of the present invention;

FIG. 6 illustrates a hypothetical example of Storage Volume Requests andAssignment in accordance with one embodiment of the present invention;

FIG. 7 is a conventional Direct Attached Storage System;

FIG. 8 is an In-Bound Accessed Virtual Storage System;

FIG. 9 illustrates a Simplified Diagram of Central ControlledDistributed Scalable Virtual Machine System in accordance with oneembodiment of the present invention; and

FIG. 10 illustrates a Simplified Diagram of Disaster Recovery Scheme ofDistributed Virtual SAN Infrastructure in accordance with one embodimentof the present invention.

FIG. 11 illustrates a typical computing system such as distributedcontrol management system, console system and host system, or storagesystem such as SAN.

FIG. 12 illustrates a typical SAN unit, which include storage devices ofRAID and disk drives, CPU, memory, network interface, operating system,service module etc.

DETAILED DESCRIPTION

The following terms are used through out this patent application todescribe the present invention. A central controlled distributedscalable virtual machine (“CCDSVM”) system allows a control managementstation to control a group of systems and to provide distributedservices to client systems over the Intranet, Internet, and/or LANenvironment. Storage media includes magnetic hard disk drives, solidstate disk, optical storage drive, and memory card etc. Storageconnection and control media may include controller of IDE, SCSI, Fiberoptical, Ethernet, USB, or wireless media, and/or other related cablesetc. Each controller of storage media such as Raid, IDE, or SCSIcontroller may control multiple storage media drivers on a system.Storage system includes one or more storage media devices, storageconnections, and/or storage media controllers. Storage system alsocontains related software modules for delivering storage services.

Storage area network (“SAN”) is a storage system that is capable ofproviding block data services to various computer hosts through storageconnection media, such as Fiber-optical cable, Ethernet cable orInternet Protocol (“IP”) based connection media protocol or non-IP basedconnection media protocol. The non-IP based connection media protocol,in one example, includes Fiber-Channel. IP SAN uses IP based protocol toprovide storage raw block data services. All discussions of SAN in thisinvention are within the scope of a model of central controlleddistributed scalable virtual machine (“CCDSVM”).

DNS stands for domain name server of network technology. DNS is anInternet software infrastructure and is capable of identifying networkaddresses for its peer systems. For example, the network addresses maybe used to communicate with the peer systems. A Simple NetworkManagement Protocol (“SNMP”) is a standard Internet protocol. A SNMPtrap is a user datagram protocol (“UDP”) packet, which may be used tosend the SNMP daemon on a SNMP agent system to a SNMP network managementstation via network links.

FIG. 1 shows an example of a simplified block diagram of IP basedout-band accessed distributed virtual SAN infrastructure. Thedistributed virtual SAN infrastructure includes multiple hosts (1),network infrastructures (2), a control management station (3), virtualstorage pool (11) having multiple IP SAN units, and a management console(10). In one embodiment, each host (1) contains service software modules9. The service software modules (9) are configured to communicate with acontrol management software module (7) of a control management station(3) for storing information on a specific IP SAN unit (4). It alsocommunicates with service software modules (6) of IP SAN unit (4) toretrieve a block of data from SAN units (4). The service softwaremodules (9) can be coded or implemented with any suitable programminglanguages such as C, C++, Java or others. The service software modules(9) may also use any suitable protocols such as IP based or non-IP basedprotocols.

The host (1), in one embodiment, could be a server, a desktop, a laptopPC, etc., which needs to access a block data storage. The spare host(12) represents a part of recovery scheme that could be implemented in aCCDSVM environment.

Network infrastructure (2) can be any kind of communication links, whichcould be a department LAN, a corporate intranet, an Internetinfrastructure or others. In one embodiment, network infrastructure (2)includes switches, routers, gateways, cables (Ethernet, optical Fiber),wireless communication media, or others. The network infrastructure (2)provides data path between hosts (1), distribute control managementstation (3), and SAN Units (4). The network infrastructure (2) alsoincludes software infrastructure such as DNS or DHCP for facilitatingsystems on the net to identifying target addresses, which are used forsending or receiving data within a network domain or in a cross-domainnetwork environment.

It should be noted that DNS and/or other Internet address identificationmechanism may be used when a message or data stream is sent from asystem A to a system. In addition, the message is sent from sourcesystem A to target system B via communication link of this networkinfrastructure.

Control management station (3) includes distributing control managementsoftware modules (7) and console support software modules (8). Tosupport web-based console, it requires the web server software (15). Thedistribute control management software modules (7) communicate withservice modules (6) of IP SAN units (4) to retrieve storage informationfor constructing a virtual SAN storage pool (11). The communicationbetween distributed control management software modules (7) and servicemodules (6) of IP SAN units (4) is further configured to monitor IP SANunit, and to perform various system operations, which include storageconfiguration and partitioning etc. The control management softwaremodules (7) also communicates with service software modules (9) of host(1) for distributing storage volumes to each hosts (1). The distributecontrol management software modules (7) can be implemented with anysuitable programming languages such as C, C++, Java, XML, etc. Thecommunication protocols between control management station (3) and IPSAN units (4) could be any suitable IP based protocols. Thecommunication between control management station (3) and hosts (1) canbe any suitable IP base or non-IP based protocols.

The console support software modules (8) employ inter-processcommunication mechanism to obtain information relating to IP SAN units(4) from the distributed control management software modules (7). Theconsole support software modules (8) further provide information to webserver software (15) through the inter-process communication mechanism,wherein said information is encoded into web page to be displayed intoweb browser (“management console”) 10 on control station (3) or onconsole host (14). The console support software modules (8) and said webpage can be implemented with any suitable programming languages such asC, C++, Java, XML, HTML, WML and Javascript etc.

The web server software (15) communicates with management consolesoftware (10) on console host (14) through web protocol such as HTTP.The web server software (15) is configured to provide a centralizedstorage management capability within the entire distributed virtual SANinfrastructure for any end user over a network. The web server software(15) could be commercially available software or other proprietarysoftware.

To simplify foregoing discussion, the communication path mentioned abovewill be simply referred to as console support software modules (8),which communicate (send/receive) with management console (10) on consolehost (14) (without further mentioning the role and function of webserver software (15) on control management station).

In addition, to support non-web based console, web server software (15)on control management station (3) is often not required. In this case,the console support software modules (8) could communicate withmanagement console software (10) with a suitable protocol other than aweb protocol such as HTTP.

The virtual storage pool (11) includes multiple IP SAN units (4),wherein each IP SAN unit further includes service modules (6). The IPSAN units (4) further contain storage media, storage communications andcontrol media. The storage hardware media of each IP SAN unit (4) isconfigured to have one or more logical volumes. Each volume, in oneembodiment, is further partitioned into several portions, as shown inFIG. 5. The IP SAN unit (4) further contains block data services andother service software modules (6). The service software module (6) isconfigured to communicate with distribute control management station (3)for providing storage information and for performing storage operations.The service software modules (6), in another embodiment, are furtherconfigured to communicate with service software modules (9) of hosts (1)for providing block data services for the host (1). The service softwaremodules (6) can be implemented by any suitable programming languagessuch as C, C++, Java, etc and they may employ any suitable IP basedcommunication protocols for data transfer.

In one embodiment, the control management station (3) and organizes IPSAN units (4) to form the virtual storage pool (11). The virtual storagepool (11) may contain information relating to IP addresses, the storagevolumes of the block data, their addresses and sizes of each IP SAN unit(4). A spare IP SAN unit (13) represents a part of recovery scheme usedin the central controlled distributed scalable virtual machineenvironment.

Fiber channel to IP gateway (5) is a component that is configured toprovide translation between Fiber Channel based protocol and IP basedprotocol so that Fiber Channel based SAN unit will appear as if IP basedSAN unit to the rest of the world (FIG. 1).

Fiber channel SAN unit is similar to an IP SAN unit (4) except it usesFiber Channel storage control, which uses Fiber Channel protocol tocommunicate with other parties over the network. In addition, FiberChannel SAN unit appears as an IP based SAN unit to the distributedvirtual SAN once it connects to a Fiber Channel to IP gateway (5 of FIG.2). Therefore, to simplify the foregoing discussion, a Fiber channel SANunit will be treated similarly as an IP SAN unit in all of followingdiscussion without additional comments.

The management console on console host (14), which has been described inpending patent of “Concurrent Web Based Multi-Task Support for ControlManagement System” by the same author. The management console could be acommercially available web browser or a proprietary Web browser. A webbrowser is able to communicate with web server software (15) on controlmanagement station (3) through a web protocol such as HTTP. The Webbrowser could be implemented by any suitable programming languages suchas C, C++, Java, XML, Javascript, etc. In addition, the managementconsole software module (10) could be a networked software module and/orweb browser software. In this case, any other suitable network protocolscan be used instead of using web protocol such as HTTP.

To simplify the foregoing discussion, the communication path betweenmanagement console (10) on console host (14) and the console supportsoftware modules (8) on control management station (3) will not furthermention the role or function of web server software module (15) in thisinvention.

From management console (10), multiple concurrent system operations andtasks can be performed for the entire distributed virtual SANinfrastructure. There are may be one or more management consoles ofdistributed virtual SAN infrastructure anywhere on the net.

FIG. 2 illustrates a portion of FIG. 1 relating to an actual virtualSAN. The multiple SAN units form a virtual Storage pool (11). Thevirtual storage pool (1) may contain information of each IP SAN unit'sIP address, the storage volumes and their sizes, etc.

FIG. 3 shows a protocol of virtual SAN automatic configuration andbuilding as well as shutting down a virtual SAN. The packet format usedwith this protocol is described in FIG. 4.

FIG. 4 shows the message format, which is used by “Virtual SAN AutomaticConfiguration Protocol” for sending and receiving a packet.

FIG. 5 illustrates a storage layout in an IP SAN unit, wherein thestorage layout may be further divided into multiple volumes and eachvolume may be further divided into multiple partitions. Each volumerefers to a logical storage unit in this discussion and it might containmultiple pieces of storage space from multiple storage hardware media.

FIG. 6 is a simplified and a portion of FIG. 1, which shows ahypothetical example of how hosts are configured to access the StorageVolume of IP SAN units. Where each IP SAN unit is a portion of virtualstorage pool (11 of FIG. 2) and each host is substantially the same aspresented in FIG. 1. Actually, once each host gain access tocorresponding assigned storage volumes on IP SAN, the storage volumeswill appear as local native storage volumes on each host, and furtherwith one embodiment, each volume can be used to build a file system ofsaid host on top of said each storage volume such that said host canprovide file server service to one or more clients on LAN, Intranet, andInternet.

FIG. 8 is a block diagram illustrating an In-Band Accessed Virtual SAN.FIG. 8 shows another type of virtual SAN, wherein, the actual storagedata path from hosts to IP SAN units has to go through controlmanagement station.

FIG. 9 is a Simplified Diagram of Central Controlled DistributedScalable Virtual Machine. With this invention, the systems in a CCDSVMcan be flexibly organized into multiple different service poolsaccording to their functionalities. For example, multiple IP SAN unitscan form a virtual SAN storage pool. The hosts of CCDSVM could formother service pools to provide services other than storage services suchas video services, file services, email services, web services, securitymonitor services and all other services provided on Web (or net) to oneor more end users (client) on LAN, Intranet or Internet.

FIG. 10 is a Simplified Diagram of Disaster Recovery Scheme ofDistributed Virtual SAN Infrastructure, which includes one virtualstorage pool of multiple IP SAN units and one service pool of multiplehosts. For example, host 1 accesses IP SAN units 1 and 2 while host 3accesses IP SAN units 4 and 5. Also, IP SAN unit 1 and 2 are mirrored sothat they have kept the same copy of data for host 1. The same to betrue for IP SAN unit 4 and 5 with host 3. In addition, IP SAN unit 3 maybe a spare unit and the host 2 could be a spare host.

FIG. 1 shows a simplified diagram of a distributed virtual SANinfrastructure according to the present invention. With the distributedvirtual SAN infrastructure, the distributed virtual SAN storage pool(11) comprises one or more SAN units (4), which may be further connectedto a distribute control management station (3). The SAN units (4) can beaccessed by one or more hosts (1) via network infrastructure (2). Theentire distributed virtual SAN infrastructure can be operated throughmanagement console (10).

The virtual storage volume pool (11) of the distributed virtual SANinfrastructure (FIG. 1) can be initiated and updated when each of the IPSAN units (4) is booted and brought to online. The virtual storagevolume pool (11), in one embodiment, is updated when at least one of IPSAN unit is powered down or removed from the web environment. In anotherembodiment, the virtual storage volume pool (11) is updated uponprivileged user to perform storage administration tasks such aspartitioning or deleting o listing storage volumes on storage device ofa SAN unit. FIG. 3 shows the distributed Virtual SAN AutomaticConfiguration Protocol, which leads to the success of constructing thevirtual storage pool (11) of distributed virtual SAN infrastructure(FIG. 1) according to this invention. The following steps have describedthe automatic building sequence of storage volume pool of the virtualSAN based on this protocol (FIG. 3). The protocol described bellow couldbe a combined sequence of IP based protocols such as SNMP, or a muchsimple UDP protocol (FIG. 4), or any other suitable protocols.

When any of IP SAN unit (4) such as unit (n) brought up online, SANservice modules (6 of FIG. 2) of the IP SAN unit (4) sends out a “SANunit (n) startup” packet, as illustrated in FIG. 4, to distributecontrol management station (3 of FIG. 1). The “SAN unit (n) startup”packet could be a simple user defined UDP packet (FIG. 4) indicating asystem just being powered up. The message carried by the packet couldalso be a SNMP trap of cold start packet, or link-up packet (4 ofFIG. 1) or other short packet/message of any suitable IP protocols.

When distribute control management modules (7 of FIG. 1) of distributecontrol management station (3 of FIG. 1) receives IP SAN unit (n)'smessage, it stores the IP SAN unit (n)'s information.

After storing information of the IP SAN unit, the control managementmodules (7 of FIG. 1) on distribute control management station (3 ofFIG. 1) sends back a “need SAN unit (n)'s storage info” packet to IP SANunit (n) (4 of FIG. 1).

When SAN service modules (6 of FIG. 1) on IP SAN unit (n) (4 of FIG. 1)receive the packet of “need SAN unit (n)'s storage info”, they obtainthe storage information on the IP SAN unit (n) (4 of FIG. 1), which mayinclude the number of storage volumes, each volume's starting address(logical block address, LBA), length, and the end address (logical blockaddress, LBA). The SAN service modules (6 of FIG. 1) then send back apacket of “unit (n) storage info”, which may include all informationobtained from the control management station (3 of FIG. 1). Insupporting services other than providing storage volumes, the IP SANunit shall be replace by system that provide specific said service inall above description, the “need SAN unit (n)'s storage info” packetshall be replaced with specific service related information such as“need video server unit's video file info” for video service, “need fileserver unit's file system info” for file service, and so forth withoutlimitation, so that other service pool can be formed.

After receiving the “unit (n) storage info” packet from IP SAN unit (n)(4 of FIG. 1), the distribute control management modules (7 of FIG. 1)on distribute control management station (3 of FIG. 1) update the storedinformation of virtual storage pool (11 of FIG. 1) with correspondingstorage information of IP SAN unit (n) from packet.

When any one of IP SAN unit (n) is shutting down, the service module (6of FIG. 1) of the IP SAN unit (n) (4 of FIG. 1) sends a “Unit (n)shutdown” message to the distribute control management station (3 ofFIG. 1). This shutdown message could be an SNMP trap of link down, or asimple UDP packet (FIG. 4) with message type of system down, or othershort packet based on some other protocols.

After receipt of the “unit (n) shutdown” packet from IP SAN unit (n) (4of FIG. 1), the distribute control management modules (7 of FIG. 1) ondistribute control management station (3 of FIG. 1) update informationof the virtual storage pool (11 of FIG. 1), which is specific to the IPSAN unit (n) (4 of FIG. 1).

In supporting services other than providing storage volumes, aftereither receiving said “unit (n) info” packet for a specific service suchas for file service or for video service, or after receiving said the“unit (n) shutdown” packet, the specific service related informationwill be updated in related service pool such as updating a list ofsystem for virtual file server pool, for virtual video service pool, orfor virtual email server pool etc. without limits.

After one or more IP SAN units (4 of FIG. 1) are online, the controlmanagement station (3 of FIG. 1) obtains and/or stores informationrelating to storage volumes and networking protocols for every IP SANunit (4 of FIG. 1) in the virtual storage pool (11 of FIG. 1).Therefore, the control management station (3 of FIG. 1) is able todistributed storage volumes to hosts (1 of FIG. 1) in several steps.

First, the host 1 (1 of FIG. 1) sends a request to control managementstation (3 of FIG. 1) requesting a storage space, such as 80 GB(gigabyte) of storage. Second, the control management station (3 ofFIG. 1) stores host 1 information and searches for availability of 80 GBof storage volume. The control management station (3), for example,finds an 80 GB available storage volume in volume 2 of the IP SAN unit M(FIG. 6). Third, the control management station (3 of FIG. 1) sends therequested information of host 1 to IP SAN unit M (FIG. 6), wherein therequested information includes the IP address of host 1 and therequested storage size. The control management station (3 of FIG. 1)also sends the storage volume information relating to the IP SAN unit Mto host 1 (1 of FIG. 1), wherein the storage volume information includesthe IP address of IP SAN unit M, the volume number and the size, thevolume's starting address, and volume's ending logical address block(LBA). Therefore, all parties of three, namely the control managementstation (3) and host 1 and the IP SAN unit M, keep the same storagevolume assignment information. Fourth, once the host 1 (1 of FIG. 1) andIP SAN unit M (FIG. 6) get each other's information, the host (1 ofFIG. 1) can directly and independently access the volume 2 on IP SANunit M immediately and the IP SAN unit M, in one embodiment, is furtherconfigured to perform security checking in light of storage accessing.If the requested storage volume can not be found either in case ofvirtual storage capacity full or there is no matched storage volume inpool, a response to said request will be sent to said host and toprivileged user who administrating said virtual storage server pool.

Alternatively, the above described steps may also be semi-automaticallysetup with assisting of system operations performed by the managementconsole (10 of FIG. 1). For example, an administrator could initiallysetup volume 2 of IP SAN unit M (FIG. 6) to be exclusively accessed byhost 1 (1 of FIG. 1) as long as the administrator acknowledges that host1 needs such size of storage volume. The administrator can also setupthe host 1 with all information needed to access volume 2 of IP SAN unitM (FIG. 6). Finally, the host 1 (1 of FIG. 1) can access volume 2 of IPSAN unit M (FIG. 6) directly without going through the controlmanagement station (3 of FIG. 1).

The present invention also discloses a mechanism of dynamicallyexpanding storage capacity. After the distributed virtual SAN storagepool (11 of FIG. 1) is initiated, the host (1 of FIG. 1) will be able toaccess the volume of an IP SAN unit (4 of FIG. 1) in the pool (11 ofFIG. 1) directly without further involvement of the control managementstation (3 of FIG. 1). This will allow the storage pool (11 of FIG. 1)of this distributed virtual SAN infrastructure (FIG. 1) to continueexpanding without affecting any hosts (1 of FIG. 1) to continueaccessing the storage volumes on assigned IP SAN units (4 of FIG. 1) inthe pool. As a result, this guarantees that the distributed virtual SANstorage pool (11 of FIG. 2) can be dynamically expanded withoutinterrupting any normal storage operations and accessing of entiredistributed virtual SAN storage pool (11 of FIG. 2).

The present invention further discloses a technique of systemscalability. Once the distributed virtual SAN storage pool (11 ofFIG. 1) is constructed, each host (1 of FIG. 1) can access one or moreIP SAN units (4 of FIG. 1) in the storage pool (11 of FIG. 1) of thedistributed virtual SAN infrastructure (FIG. 1) whenever it requests.For example, host 1 (FIG. 6) can access IP SAN unit 1, unit 2, and unitM (FIG. 6) after the host (1) requests an access to the IP SAN units andsubsequently, the control management station (3 of FIG. 1) grants therequest. This effectively provides scalable storage system for eachhosts (1 of FIG. 1) within distributed virtual SAN infrastructure(FIG. 1) of this invention. Further, the distributed virtual SANinfrastructure (FIG. 1) provides far better scalability than the in-bandaccessed virtual SAN (FIG. 8), wherein the scalability of in-bandaccessed virtual SAN were severely limited by the bottlenecked controlmanagement station (FIG. 8).

The present invention also discloses a method of storage sharingmechanism. Once the distributed virtual SAN storage pool (11 of FIG. 1)is constructed, each IP SAN unit (4 of FIG. 1) in the pool ofdistributed virtual SAN infrastructure (FIG. 1) may hold multiplestorage volumes in the form of block data, which can be accessed by oneor more hosts (1 of FIG. 1). Therefore, it allows multiple hosts (1 ofFIG. 1) to share an IP SAN unit (4 of FIG. 1) by granting and assigningeach host to exclusively access particular volumes on that IP SAN unit(4 of FIG. 1). The FIG. 6 demonstrates such a storage sharing, whereinIP SAN unit (2 of FIG. 6) has three volumes, which named volume 1,volume 2, and volume 3. The block data service modules (6 of FIG. 1) onIP SAN unit (2 of FIG. 6) allows volume 1 to be accessed exclusively byhost 1 while volume 2 to be accessed exclusively by host 2.

With in-band accessed virtual SAN (FIG. 8), the control managementstation could be a performance bottleneck. With distributed virtual SANof this invention, each host (1 of FIG. 1) can directly andindependently access any IP SAN unit (4 of FIG. 1). Therefore, theperformance of storage accessing for each host will not be affected andcan match the performance of direct attached storage system (FIG. 7)when the high speed network connecting media is deployed in thedistributed virtual SAN infrastructure (FIG. 1).

The present invention also illustrates a method of a centralizedmanagement of distributed virtual SAN. The storage management console ona console host (10 of FIG. 1) can communicate with console supportsoftware module (8 of FIG. 1) on a control management station (3 of FIG.1). The storage management console is configured to further receiveinformation relating to all IP SAN units (4) from control managementmodules (7 of FIG. 1) of control management station (3 of FIG. 1).Therefore, it provides centralized management functionality for entiredistributed virtual SAN storage pool (11 of FIG. 1), hosts (1 of FIG.1), and the control management station itself (3 of FIG. 1). Withmultiple concurrent tasks controlled by the console support softwaremodule (8 of FIG. 1) of control management station (3 of FIG. 1), thestorage management support console (10 of FIG. 1) can provide a fullrange of system operations and tasks as described in “Concurrent WebBased Multi-Task Support for Control Management System” by the sameauthor. In addition, multiple system tasks and operations can be runconcurrently throughout the entire distributed virtual SAN and hosts.

These management tasks include storage configuration, storage volumeallocation and assignment, storage partitioning and repartitioning forRAID storage, network, and other resource's usage and activitymonitoring.

In one embodiment, if said management console is a web browser, eachsaid management task performed in web browser will be transmitted to webserver (15) and console support software (8) of control system. Saidconsole support software (8) will parse each task, allocate associatedlocks for each task and store each task information into a not usedentry in a user space task list. Further, the console support software(8) will distribute each task in background and executed on targetedsystem, which could be either control station or any SAN unit (4) orhost (1), until said task is finished. A response to said task will besent back to each corresponding web browser regardless if said task isfinished or not. Said locks are to be released along with said taskexecution up to the point that task is finished. Also the entry storedwith corresponding task will be clear up and marked as not used againupon said task is finished. Therefore, one or more concurrent tasks canbe run in a single web browser.

In one embodiment, the present invention discloses a process of disasterrecovery capabilities. The use of DNS or an IP address identificationmechanism helps this distributed virtual SAN infrastructure to overcomethe geometric (region) limitation, and works well in a cross networkdomain environment or in a single network domain environment. Therefore,any IP SAN unit or host as well as a control management station could beanywhere on the corporate Intranet, department LAN, or Internet. As aresult, the present invention can be used for an emergency or a disasterrecovery plan because the distributed virtual SAN infrastructureincreases logical range by 100 miles as oppose to the traditional10-kilometer limitation.

In addition, the disaster recovery plan of distributed virtual SANinfrastructure can be flexibly implemented as showing in FIG. 10. Withthis recovery plan, the host 1 or 3 (1 of FIG. 10) can continue tooperate even if one of its mirrored IP SAN units failed (3 of FIG. 10).Also, the spare IP SAN unit can be used to quickly replace the failed IPSAN unit whenever there is a need. On the other hand, the hosts (1 ofFIG. 10) also can be organized into a service pool for providing specialservices, such as distributing video services, distributed databasepool, distributed security monitor services, and all other servicesprovided on the net or the Web. Therefore, whenever host 1 or 3 failed,the spare host can quickly take over their assigned IP SAN storage andreplace them to continue providing services to the end user.

It should be noted that the storage of any IP SAN unit can be shared andaccessed by multiple hosts. To scale a virtual storage, a host may beassigned to access multiple volumes of storage capacities from multipleIP SAN units. In one embodiment, the storage accessing goes directlythrough communication link between hosts and SAN units, which means thatit is an out-band access. An advantage of using the present invention isthat it has better performance and scalability than that in-bandaccessed virtual SAN. Furthermore, the present invention allows thevirtual storage pool to expand dynamically through adding more IP SANunits into the pool without interrupting systems operation.

The implementation of web-based multi-concurrent tasks allows entiredistributed virtual SAN infrastructure to be managed and monitored froma centralized console. Also, the IP based distributed virtual SANinfrastructure is a new type of central controlled distributed scalablevirtual machine (CCDSVM). The software modules used in IP baseddistributed virtual SAN infrastructure are web based operating systemmodels. Furthermore, the methods and principles of the IP baseddistributed virtual SAN storage pool, which may automatic build anddeliver storage services to the end users or clients on-demand bases.The present invention can also apply to various data distributionservices within the CCDSVM infrastructure.

Having briefly described the embodiments of the distributed IP SAN andits storage volume service providing to hosts, the mentioned IP SAN,console host, host, and control management station are all computingsystems. Each system all equipped with respectable sized storage devicesand specially IP SAN configured with larger size of storage devices. Thestorage devices of each computing system all can be partitioned with oneor more storage volumes and each volume can be used to create filesystems native to local computing system. On the other hand, the IP SANis a special computing system, which not only can provide storagevolumes for building local file system on native IP SAN unit but moreimportantly, it is specially designed to provide block data service toremote host such that it let remote host to build file systems usingstorage volumes on IP SAN other than using storage volumes on local hostsystem.

Also, in common practice, each said file system can be used for creatingfile-folder/directory structure and further for creating one or morefiles on said created file system, or for copying or moving one or morefiles from other file systems on same system or on remote system to saidcreated file system. Said file can be application program file such asweb application program or database application etc. without limits, orcan be data file such as document of text or Word or spreadsheet orpresentation slides file etc, multi-media of streaming video and audiofile, digital image file, and record data file etc without limits.

FIG. 11 illustrates a typical computer system (16), in one embodiment,the distribution control station (3) comprises a computer system (16)which includes a bus (102) or other communication mechanism forcommunicating information, and a processor (CPU) (104) coupled with thebus (102) for processing information. The computer system (15) alsoincludes a main memory (106), such as a random access memory (RAM) orother dynamic storage device, coupled to the bus (102) for storinginformation and program instructions to be executed by the processor(104). The main memory (106) also may be used for storing temporaryvariables or other intermediate information during execution orinstructions to be executed by the processor (104). The computer system(16) further includes a read only memory (ROM) (108) or other staticstorage device coupled to the bus (102) for storing static informationand instructions for the processor (104). a storage device (110), suchas a magnetic disk or optical disk, is provided and coupled to the bus(102) for storing information and instructions. The bus (102) maycontain, for example, thirty-two address lines for addressing videomemory or main memory (106). The bus (102) can also include, forexample, a 32-bit data bus for transferring data between and among thecomponents, such as the CPU 104, the main memory 106, video memory andthe storage media (110). Alternatively, multiplex data/address lines maybe used instead of separate data and address lines.

In one embodiment, the CPU (104) comprises a microprocessor manufacturedby Motorola®, such as the 680x0 processor or a microprocessormanufactured by Intel®, such as the 80X86, or Pentium® processor, or aSPARC® microprocessor from Sun Microsystems®. However, any othersuitable microprocessor or microcomputer may be utilized. The mainmemory (106) can comprise dynamic random access memory (DRAM). And videomemory (not shown) can comprise a dual-ported video random accessmemory.

The computer system (16) may be coupled via the bus (102) to a display(112), such as a cathode ray tube (CRT), liquid crystal display (LCD) orPlasma display panel, for displaying information to a computer user. Aninput device (114), including alphanumeric and other keys, is coupled tothe bus (102) for communicating information and command selections tothe processor (104). Another type of user input device comprises cursorcontrol (116), such as a mousse, a trackball, or cursor direction keysfor communicating direction information and command selections to theprocessor 104 and for controlling cursor movement on the display (112).This input device typically has two degrees of freedom in two axes, afirst axis (e.g., x) and a second axis (e.g., y) that allows the deviceto specify positions in a plane.

According to one embodiment of the invention, the steps of the processesof the present invention is provided by computer systems (16) inresponse to the processor (104) executing one or more sequences of oneor more instructions contained in the main memory (106). Suchinstructions may be read into the main memory (106) from anothercomputer-readable medium, such as the storage device (110). Execution ofthe sequences of instructions contained in the main memory (106) causesthe processor (104) to perform the process steps described herein. Oneor more processors in a multi-processing arrangement may also beemployed to execute the sequences of instructions contained in the mainmemory (106). In alternative embodiments, hard-wired circuitry such asApplication Specific Integrated Circuit (ASIC) may be used in place ofor in combination with software instructions to implement the invention.Thus, embodiments of the invention are not limited to any specificcombination of hardware circuitry and software.

The term “computer-readable medium” as used herein refers to any mediumthat participated in providing instructions to the processor 104 forexecution. Such a medium may take may forms, including but not limitedto, non-volatile media, volatile media, and transmission media.Non-volatile media includes, for example, optical or magnetic disks,such as the storage device (110). Volatile media includes dynamicmemory, such as the main memory (106). Transmission media includescoaxial cables, copper wire and fiber optics, including the wires thatcomprise the bus (102). Transmission media can also take the form ofacoustic or light waves, such as those generated during radio wave andinfrared data communications.

Common forms of computer-readable media include, for example, a floppydisk, a flexible disk, hard disk, magnetic tape, or any other magneticmedium, a CD-ROM, any other optical medium, punch cards, paper tape, anyother physical medium with patterns of holes, a RAM, a PROM, an EPROM, aFLASH-EPROM, any other memory chip or cartridge, a carrier wave asdescribed hereinafter, or any other medium from which a computer canread.

Various forms of computer readable media may be involved in carrying oneor more sequences of one or more instructions to the processor (104) forexecution. For example, the instructions may initially be carried on amagnetic disk of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to the computer system (16)can receive the data on the telephone line and use an infraredtransmitter to convert the data to an infrared signal. An infrareddetector coupled to the bus (102) can receive the data carried in theinfrared signal and place the data on the bus (102). The bus (102)carries the data to the main memory (106), from which the processor(104) retrieves and executes the instructions. The instructions receivedfrom the main memory (106) may optionally be stored on the storagedevice (110) either before or after execution by the processor (104).

The computer system (16) also includes a communication interface (118)coupled to bus the (102). The communication interface (118) provides atwo-way data communication coupling to a network link (120) of thenetwork infrastructure (2) that is connected to routers in networkinfrastructure (2). For example, the communication interface (118) maybe an integrated services digital network (ISDN) card or a modem toprovide a data communication connection to a corresponding type oftelephone line, which can comprise part of the network link (120). Asanother example, the communication interface (118) may be a local areanetwork (LAN) card to provide a data communication connection to acompatible LAN. Wireless links may also be implemented. In any suchimplementation, the communication interface (118) sends and receiveselectrical electromagnetic or optical signals that carry digital datastreams representing various types of information.

The network link (120) typically provides data communication through oneor more networks to other data devices. For example, the network link(120) may provide a connection through a local network to a host/servercomputer or to data equipment operated by an Internet Service Provider(ISP) (126) via switched of network infrastructure (2). The ISP (126) inturn provides data communication services through the world wide packetdata communication network now commonly referred to as the “Internet”(128). The Internet (128) uses electrical electromagnetic or opticalsignals that carry digital data streams. The computer system (16)further includes web server (15) for providing e.g. a user interface tothe clients (18) or console hosts (14) for requesting data streams fromthe virtual server (17). In one example said user interface can includea list of available video content files in the virtual video server orvirtual file server (17) and ways of selecting content files forviewing, including optionally payment terms.

The computer system (16) can send messages and receive data, includingprogram code, through the communication interface (118). In the Internetexample, clients (14) can transmit code (e.g., program instructions,HTML, etc.) for an application program through the Internet (128), theISP (126), and communication interface (118).

The computer system (16)'s hardware capacity determine such how manyconcurrent tasks, how may total users, how many concurrent users it cansupport. The network hardware such as the bandwidth of each networkinterface (118) and the total number of network interface cards, thespeed of CPU, and the size of memory (106) determine the total number ofconcurrent data connections with certain rate of per connection thecomputer system (16) can provide, and determine the total number ofconcurrent users and tasks can have or run on computer system (16), anddetermine the total number of other systems that computer system (160can control.

The example versions of the invention described herein can beimplemented as logical operations in a distribution control station (2).The logical operations of the present invention can be implemented as asequence of steps executing on distribution control station (2). Theimplementation is a matter of choice and can depend on performance ofthe distribution control station (2) implementing the invention. Assuch, the logical operations constituting said example versions of theinvention are referred to for e.g. as operations, steps or modules.

The present invention has been described in considerable details withreference to certain examples. However, other versions and examples arealso possible, therefore, the spirit of this invention shall not belimited to these examples and/or embodiments.

1-38. (canceled)
 39. A central controlled virtual file system built ontop of a virtual SAN comprises: a storage server pool has a plurality ofone or more storage servers, which are configured to provide storagearea network (SAN) services to a plurality of one or more hosts over anetwork of LAN, Intranet or Internet; a virtual file server poolcomprises a plurality of one or more hosts, which utilize storagevolumes of said storage server pool to build file systems and further toprovide file service to said a plurality of one or more clients oversaid network; and a distributed control station controls andautomatically provisions said virtual file server pools and said virtualstorage pool via said network, wherein said distributed control stationreceives SAN service requests from plurality of hosts and distributes tosaid plurality of storage servers over said network while each said hostproviding file service to said plurality of clients, and wherein controlsystem encoding and displaying information of storage server pool andvirtual file server pool into management console and further providingcentralized management for both server pools, and wherein each SAN unitproviding SAN service to one or more hosts independent of other SANunits over said network and each host providing file service to one ormore clients independent of other hosts over said network. 40: A methodof creating a central controlled virtual file system to be built on topof a virtual SAN comprises: provisioning a storage server poolautomatically to have a plurality of one or more storage servers, whichare configured to provide storage area network (SAN) services to aplurality of one or more hosts over a network of LAN, Intranet orInternet; provisioning a virtual file server pool automatically tocomprise said a plurality of one or more hosts over said network, whichutilize storage volumes of said storage server pool to build filesystems and further to provide file service to said a plurality of oneor more clients over said network; and providing a distributed controlstation to control and automatically provision said virtual file serverpools and said virtual storage pool via said network, wherein saiddistributed control station receives SAN service requests from pluralityof hosts and distributes to said plurality of storage servers over saidnetwork while each said host providing file service to said plurality ofclients, and wherein control station encoding and displaying informationof storage server pool and virtual file server pool into managementconsole and further providing centralized management for both serverpools, and wherein each SAN unit providing SAN service to one or morehosts independent of other SAN units over said network without goingthough control station and each host providing file service to one ormore clients independent of other hosts over said network without goingthrough control station. 41: The method of claim 40, wherein saidprovisioning a storage server pool to have a plurality of one or morestorage servers further includes: instructing control stationcommunicates to each SAN unit to automatically form a virtual storagevolume pool via a sequence of proprietary combined UDP/TCP/IP protocols,wherein said control station detects, collects and stores storage andother resource information of each SAN unit into an information list ofSAN units on control station.
 42. The method of claim 40, wherein saidto provide storage area network (SAN) services to a plurality of one ormore hosts over a network of LAN, Intranet or Internet further includesinstructing control station to receive and parse each storage volumerequest, to identify storage volumes and capacity of each storage deviceof each SAN unit, and to assign an identified storage volume to eachrequested host; wherein each SAN unit configured with one or multiplestorage volumes on each of its one or more storage devices to beassigned to one or more said hosts.
 43. The method of claim 40, whereinsaid provisioning a virtual file server pool to comprises a plurality ofone or more hosts further includes: instructing control stationcommunicates to each host to automatically form a virtual file serverpool via a variation of said sequence of proprietary combined UDP/TCP/IPprotocols, wherein said control station detects, collects and storesfile system and other resource information of each host into aninformation list of hosts on control station.
 44. The method of claim40, wherein said each host utilize storage volumes of said storageserver pool to build file systems further includes: instructing eachhost to request one storage volume at a time in an event of requiring toincrease it storage capacity, and to receiving one assigned storagevolume at a time, and further to configure and make file system on perreceived storage volume via communication with a specific SAN unit thatprovides said storage volume; wherein each host can be assigned with oneor more storage volumes resided on one or more SAN unit.
 45. The methodof claim 40, wherein said provisioning a storage server pool furtherincludes: updating said virtual storage pool in response to activating aspare SAN unit in the event of the entire pool having reached itsmaximum capacity or a SAN unit having fault; updating said virtual SANstorage pool in response to changing status of an active SAN unit in theevents of partitioning a storage device, deleting a storage volume ordistributing storage volume; updating said virtual storage pool inresponse to re-connecting a disconnected SAN unit or adding a new SANunit to said storage pool over said communications network; updatingsaid virtual SAN storage pool in response to disconnecting or removingan active SAN unit from said communications network
 46. The method ofclaim 40, wherein said provisioning a virtual file server pool furtherincludes: updating said virtual file server pool in response toactivating a spare host in the event of the entire pool having reachedits maximum capacity; updating said virtual file server pool in responseto changing status for an active host in the event of creating filesystem or deleting file system; updating said virtual file server poolin response to re-connecting a disconnected host or adding a new host tosaid virtual server pool over said communications network; updating saidvirtual file server pool in response to disconnecting or removing anactive host from said communications network
 47. The method of claim 40,wherein said virtual file server pool providing file service to said aplurality of one or more clients over said network further includes:configuring one or more file-folder structures and files on each filesystem of each host in said virtual file server pool; assigning one ormore users to access said one or more files in said virtual file serverpool over said network; wherein said file can be program file such asweb application or non-web application and said file can be data filesuch as document file, multi-media file of streaming video or audio orimage file, or record file.
 48. The method of claim 40, wherein saiddistributed control station receives SAN service requests from pluralityof hosts and distributes to said plurality of storage servers over saidnetwork while each said host providing file service to said plurality ofclients further includes: identifying available storage space associatedto each SAN unit; and determining partitioned volumes of storage spaceof virtual storage pool for sharing with multiple hosts. listing aplurality of SAN units capable of performing SAN service for providingmultiple concurrent service requests; and identifying available storagecapacity with each of said plurality of SAN units that can be employedfor said service request.
 49. The claim 48 further includes: receiving afirst service request from a first host via said communications networkand distributing said first service request to a first IP SAN unit inresponse to said virtual SAN storage pool; receiving a second servicerequest from a second host via said communications network anddistributing said second service request to a second IP SAN unit inresponse to said virtual SAN storage pool; and receiving one or moreservice requests from one or more hosts via said communication networksand distributing said one or more service requests to one or more IP SANunits in response to said virtual SAN storage pool.
 50. The claim 49further includes: identifying said first IP SAN unit for said firstservice request in response to storage capacity requirement associatedwith said first service request; and identifying said second IP SAN unitfor said second service request in response to storage capacityrequirement associated with said second service request; and identifyingsaid one or more IP SAN units for said one or more service requests inresponse to storage capacity requirement associated with said one ormore service requests
 51. The claim 50 further includes: identifyingsaid first IP SAN unit for said first service request in response tostorage partitioning and volume size requirement associated with saidfirst service request; and identifying said second IP SAN unit for saidsecond service request in response to storage partitioning and volumesize requirement associated with said second service request; andidentifying said one or more IP SAN units for said one or more servicerequests in response to storage partitioning and volume size requirementassociated with said one or more service requests.
 52. The claim 50further includes: identifying said first IP SAN unit for said firstservice request in response to video performance requirement associatedwith said first service request; and identifying said second IP SAN unitfor said second service request in response to video performancerequirement associated with said second service request; and identifyingsaid one or more IP SAN units for said one or more service requests inresponse to video performance requirement associated with said one ormore service requests.
 53. The method of claim 40, wherein said controlsystem encoding and displaying information of storage server pool andvirtual file server pool into management console and further providingcentralized management for both server pools further includes: encodingand displaying permitted resource information of one or more SAN unitsin storage server pool and one or more hosts in virtual file server poolinto management console on console system; providing one or morepermitted users each from their own management console to interactivelyperform one or more management tasks over said displayed permittedresources of said virtual storage pool and file server pool; whereinsaid one or more tasks can run concurrently in a single managementconsole; and wherein said resources can be system information of SANunit or host such as system name, IP address, or ID, can be hardwareresource of each system such as CPU, memory, storage devices, networkdevices, display components, input or output devices, can be dataresources such as file systems and file-folders, and data files,application program files, record files.
 54. The claim 53, wherein saidtasks further includes: monitoring status of one or more SAN units orhosts in said pools such as system status of active, down or spare, andstatus of CPU, memory, storage, network, processes/threads of each SANunit and each host; managing storage volumes for entire storage pool andfile server pool such as detecting, listing, and selecting one or morestorage devices on each SAN unit or host, and furthercreating/partitioning or deleting one or more storage volumes on saidstorage devices; managing authentication and security for one or moreusers such as setup user account and authentication profile to includewhat systems and what tasks each user can access and perform; setting upauthentication for a client to access application services provided byone or more hosts; managing file systems of entire file server pool suchas creating a file system on each storage volume or delete file system,creating or deleting or renaming one or more file folders on each saidfile system, creating or deleting or renaming one or more files on eachsaid file system, copying or moving one or more files or file-foldersfrom one location to another location either on same host or crossdifferent hosts without size limitation; and setup one or more spare SANunits and hosts for fault handling.
 55. The method of claim 40 whereinsaid management console further includes: assigning web browser on oneor more console systems or on control station as management console andtransmitting said resource information of storage pool and file serverpool from control system to be displayed in said web browser via webprotocol such as HTTP or HTTPS; and assigning non web browser based UIprogram on one or more console systems or on control station asmanagement console and transmitting said resource information of storagepool and file server pool from control system to be displayed in saidnon web UI program via non web based protocol; wherein said web browserand non web browser based UI program can be implemented with anysuitable or a combination of suitable programming languages such as C,C++, Java, Javascript, HTML, XML, WML.
 56. The method of claim 40further includes: said control station, console system, SAN unit, andhost are computing system and can be server system, desktop or laptopsystem or handheld devices such as PDA or cell phone; wherein said SANunit configured with respective storage devices such as one or moreRAID, IDE or SCSI disk drives; wherein control station configured withserver software of web server modules, console support software modules,and control management software modules; and SAN unit configured withservice software modules of SAN unit, and host configured with servicesoftware modules of host, and console system configured with software ofmanagement console modules; and wherein said software modules controlsentire operation of virtual pools and can be implemented with anysuitable or a combination of suitable programming languages such as C,C++, Java, Javascript, HTML, XML, WML and said software controls theoperation of entire virtual server pool and virtual storage pool; andsaid system configured with operating system such as Unix/Linux,Windows, Mac, or various real-time OS; and said network comprised one ormore communication equipment such as routers and switches, connected viavarious links such as optical links, wireless links, Ethernet or SCSIcables, even control bus, configured with network infrastructuresoftware such as DNS, and communicated via various protocols such as IPbased or non-IP based protocols.
 57. A method and apparatus of providinga central controlled scalable storage service pool to multiple servicepools of multiple hosts comprises: instructing control station toautomatically detect, collect and store the storage information of oneor more storage server units into a list on control station during eachstorage server unit boot-up time based on a proprietary sequence ofcombined UDP/TCP/IP protocols to form a virtual storage service poolover network of LAN, Intranet, and Internet infrastructure, andinstructing control station to automatically detect, collect and storeeach specific information of one or more hosts into a list on controlstation during each host boot-up time based on a proprietary sequence ofcombined UDP/TCP/IP protocols to form a one or more service pools oversaid network, and wherein each storage server provides one or morestorage volumes to one or more hosts while each host utilizing storagevolumes from one or more said storage servers for providing said serviceto one or more end users at each of their client system over saidnetwork; instructing control station to encoding information of virtualstorage pool and said one or more service pool to be displayed into oneor more privileged users' UI screen at each of their console system forperforming centralize management tasks for virtual storage pool andservices pool, wherein one or more said tasks can run concurrentlywithin a single user UI screen, wherein said user UI can be a webbrowser or a non web based UI screen.
 58. The method of claim 57,wherein said each storage server provides one or more storage volumes toone or more hosts while each host utilizing storage volumes from one ormore said storage servers for providing said service to one or more endusers at each of their client system over said network further includes:instructing control station dynamically distributing storage servicerequests of each hosts to identified storage server in storage poolbased on size and availability of the storage space on each storageserver; wherein each identified storage server in storage pool providesstorage service directly to each requested and assigned host in servicepools independent of other storage servers without interrupting thenormal operations of the rest of storage pool and service pool, andwithout further involvement of control station; and wherein said eachhost in said service pools providing dedicated service directly to endusers independent of other hosts in service pools such as providing fileservice of virtual file server pool, or video service of virtual videoserver pool, or web contents service of virtual web server pool.
 59. Themethod of claim 57, wherein said providing privileged users from UIscreen at each of their console system for performing centralizemanagement tasks for virtual storage pool and services pool furtherincludes: providing said user to select one resource at a time from saidinformation list of storage servers or hosts to perform following tasks:monitoring status of one or more SAN units or hosts in said pools suchas the system status of active, down or spare; and the status of CPU,memory, storage, network, processes/threads of each SAN unit or eachhost; managing storage volumes for entire storage pool and service poolssuch as detecting, listing, and selecting one or more storage devices oneach SAN unit or host, and further creating/partitioning or deleting oneor more storage volumes on said storage devices; managing authenticationand security for one or more users such as setup user account andauthentication profile on control system to include what systems andwhat tasks each user can access and perform; setting up authenticationfor a client (end user) to access the application services provided byone or more hosts; managing file systems of entire service pools such ascreating a file system on said each storage volume or delete filesystem; creating or deleting or renaming one or more file-folders orfiles on each said file system, copying or moving one or more files orfile-folders from one location to another location either on same hostor cross different hosts without size limitation; and setup one or morespare SAN units and hosts for fault handling; and performing all tasksthat are compatible to those tasks can be performed on native windowbased system or command line based user operating environment.
 60. Themethod of claim 57, wherein said virtual service pools and virtualstorage server pool further includes: updating said virtual storage poolin response to activating a spare SAN unit in the event of the entirepool having reached its maximum capacity or a SAN unit having fault;updating said virtual SAN storage pool in response to changing status ofan active SAN unit in the events of partitioning a storage device,deleting a storage volume or distributing storage volume; updating saidvirtual storage pool in response to re-connecting a disconnected SANunit or adding a new SAN unit to said storage pool over saidcommunications network; updating said virtual SAN storage pool inresponse to disconnecting or removing an active SAN unit from saidcommunications network or removing an active SAN unit from; updatingeach specific virtual service pool in response to activating a sparehost in the event of said specific service pool having reached itsmaximum capacity; updating each specific virtual service pool inresponse to changing status for an active host such as in the event ofadding a new service or removing an existing service updating eachspecific virtual service pool in response to re-connecting adisconnected host or adding a new host to said specific virtual serviceover said communications network; and updating each specific virtualservice pool in response to disconnecting an active host from saidcommunications network or removing an active host form a specificvirtual server pool.
 61. A sequence of combined UDP/TCP/IP protocols forautomatic constructing and forming the service pool of a virtual systemcomprises: the sequence of steps for automatic forming a file serverpool includes 1) instructing each system unit sending a “system unit (n)startup” packet to control station during its system boot up time,wherein said packet includes system unit (n)'s information of IPaddress, network port, ID, and system name of said system unit; whereinthe notion “(n)” represents a sequence number such as a service ID forsystem unit; 2) instructing control station sending a “need system unit(n)'s service objective info” packet to a corresponding file serverafter detecting and receiving “system unit (n) startup” packet or afterdetecting a previously disconnected system unit (n)'s communication linkis going up again; wherein control station stores said system unit (n)'sinformation into an information list of system units in memory, disk orboth on control station 3) instructing system unit (n) collecting itsrequired service information and sending a packet of “system unit (n)'sservice objective info” back to control station after system unit (n)receiving a packet of “need system unit (n)'s service objective info”;wherein the packet sent by system unit (n) includes all informationrequired such as information of one or more system units and theirassociated storage volumes; 4) instructing the control station updatingsaid information list of system units with one or more service objectiveinformation included in packet after receiving “system unit (n)'sservice objective info” packet; and the sequence of steps for automaticupdate service pool includes a) instructing file server unit (n) sending“system unit (n) shutdown” packet to control station if a system unit(n) is shutting down or reboot; b) instructing control station updatingits information list of system units after received “system unit (n)shutdown” packet from system unit (n) or after detected thecommunication link to system unit (n) is down.
 62. The claim 61 furtherincludes: said “unit (n) service object info” includes the requiredservice information of a specific service such as block data service(SAN service), video service, file service, web service, messageservice, database service, and security monitoring service; and whereinsaid “service object info” also include server unit's IP addresses andits associated network ports information, and related informationassociated with said specific services; and said information packetdelivered via TCP protocol; and wherein said startup packet being a verysimple UDP packet with a “server unit startup message” or a SMNP coldstart packet or any suitable protocol packet; and said “shut-down”packet being a very simple UDP packet with a “server unit down message”or a SMNP cold start packet or any suitable protocol packet; whereinsaid control management software of control station detecting thedifferent startup packet of different protocol.
 63. A method ofautomatic building a web-based central controlled distributed scalablevirtual file server system for providing file accessing, sharing andmanagement service comprising: connecting a control station to aplurality of one or multiple system units (“file server”), and to beaccessed by a plurality of one or more users from one or more clientsystems or console systems over a network of LAN, Intranet or Internet;instructing control station to automatically detecting and collectingresources and status information of said plurality of file serversduring each file server's boot-time to form a virtual file server poolvia a sequence of combined UDP/TCP/IP protocols over said network;instructing control station to displaying permitted resource or statusinformation of virtual file server pool into an user interface (“UI”)screen on said plurality of client systems or console systems, andproviding said users from each of their own UI screen to perform andsubmit task of accessing or managing virtual file server pool, whereinone or more tasks can run concurrently in each said UI screen; andinstructing control station to receiving and distributing each requestedtask of said accessing or managing virtual file server pool to beexecuted on targeted systems in said pool, and updating said virtualfile server pool in response to status changing of one or more fileservers in virtual file server pool, wherein each said file server canprovide file services to each user directly independent of other fileservers in pool and without going through control station.
 64. Themethod of claim 63, wherein said connecting a control station to aplurality of one or multiple system units (“file server”), and to beaccessed by a plurality of one or more users from one or more clientsystems or console systems over a network further includes: said networkis an communication infrastructure that comprises one or more switchesand routers and various connecting media such as wireless or optical orEthernet links; said system units are file servers configured withservice software modules and with respective storage devices such asRAID, IDE or SCSI disk drives to provide file system and further providefile service; said control station, client system, and console systemare computing system such as server, desktop or laptop system orhandheld wireless devices such as PDA, cell phone; and all systemrunning with operation system such as Unix/Linux, Windows, Mac, orreal-time OS; said control station configured with server software,which includes console support software modules, web server softwaremodules, and control management software modules; in addition, controlstation also configured with web-browser or a non-web based userinterface (“UI”) as (“management console”); and client system andconsole system configured with web browser as management console ornon-web based UI for user to access control station.
 65. The method ofclaim 63, wherein said instructing control station to automaticallydetecting and collecting resources and status information of saidplurality of file servers during each file server's boot-time to form avirtual file server pool via a sequence of combined UDP/TCP/IP protocolsover said network further includes: the sequence of steps for automaticforming a file server pool includes 1) instructing each file serversending a “file server (n) startup” packet to control station during itssystem boot, wherein said packet includes file server (n)'s informationof IP address, network port, ID, and system name of said file server;wherein (n) represents a sequence number for service ID of file server;2) control station will send a “need file server (n)'s file system info”packet to a corresponding file server after detecting and receiving“file server (n) startup” packet or after detecting a previouslydisconnected file server (n)'s communication link is going up again;wherein control station stores said file server (n)'s information intoan information list of file servers in memory, disk or both on controlstation 3) file server (n) collects its file systems information andsends a packet of “file server (n)'s file system information” back tocontrol station after file server (n) receiving a packet of “need fileserver (n)'s file system info”; wherein the packet sent by file server(n) includes all information required such as information of one or morefile systems and their associated storage volumes; 4) after receiving“file server (n)'s file system info” packet, the control stationupdating its stored information of file server (n) with one or more filesystem information from packet; and the sequence of steps for automaticupdate file server pool includes a) said file server unit (n) sending“file server (n) shutdown” packet to control station if a file server(n) is shutting down or reboot; b) said control station updating itsinformation list of file servers after received “file server (n)shutdown” packet from file server (n) or after detected thecommunication link to file server (n) is down; and wherein said packetof “file server (n) shutdown” or “file server (n) startup” can be asimple UDP packet, or can be a shutdown packet and a cold start packetof SNMP, and the packet of “file server (n)'s file system info” can be aTCP packet.
 66. The method of claim 63 wherein said instructing controlstation to displaying permitted resource or status information ofvirtual file server poll into an user interface (“UI”) screen furtherincludes: said user interface (“UI”) can be a conventional web browseror a non-web based UI screen; said resources can be an information listof file servers including system name, IP address, or ID, can beinformation lists of hardware resource of each system such as CPU,memory, storage devices, network devices, display components, input oroutput devices, or can be information lists of data resources such asone or more file systems and file-folders, and data files, applicationprogram files; wherein said data file can be document file of text orWord or spread sheet or presentation slide file, can be multi-media fileof various streaming video or audio file or image file, or can berecords file; and said application program file can be web applicationfile or non-web application file; and encoding said permitted resourceinformation into web page and transmitting web page to each said webbrowser for displaying, wherein said web page can be encoded with anysuitable or a combination of suitable programming languages such as C,C++, Java, Javascript, HTML, XML, WML, wherein encoded information alsoincludes operation menu and options or submit button for providing userto select one related resource at a time and perform related tasks. 67.The method of claim 63 wherein said instructing control station toproviding said users from each of their own UI screen to perform task ofaccessing or managing virtual file server pool, wherein one or moretasks can run concurrently in each said UI screen further includes: saidtask includes providing privileged user to creating one or more userauthentication profiles including account name and password; specifyingauthentication information into each user's profile to includeinformation of permitted file servers or permitted file systems on eachpermitted file server or permitted file-folders and files on eachpermitted file system that each individual user can access or manage,and permitted type of tasks for permitted type of resource that saiduser can perform; wherein said specified authentication information alsoinclude from where and which system each user can access or manage saidvirtual file server pool, wherein said system can be any client systemor console system or control station; and wherein said one or more userscan be assigned with permission of accessing a same file or a samefile-folder on a permitted system; wherein said permitted system can becontrol station or any file server system in said file server pool. 68.The method of claim 63 wherein said instructing control station toproviding said users from each of their own UI screen to perform task ofaccessing or managing virtual file server pool, wherein one or moretasks can run concurrently in each said UI screen also includes:providing each user to select one specific resource at a time to performand submit corresponding said task over said file server pool thatincludes selecting one file server at a time from displayed informationlist of file servers to display one or more storage devices on selectedfile server; selecting one storage device at a time from displayedinformation list of said one or more storage devices on said selectedfile server to perform task for managing storage device, wherein saidtask of managing storage device including listing one or more storagevolumes on said storage devices or detecting available storage space orpartitioning/creating one storage volume at a time on available storagespace on said storage; and selecting one storage volume at a time fromsaid listed storage volumes on said storage device to create a filesystem or to delete the selected storage volume on said storage devices;69. The claim 68 further includes: providing each user to select onespecific resource at a time to perform and submit corresponding saidtask over said file server pool that includes selecting one file serverat a time from displayed information list of file servers for displayingone or more file systems on selected file server of selected fileserver; selecting one file system at a time from displayed a list offile systems on selected file server to display one or more file-foldersor files of selected file system, or to perform task of managingselected file system, wherein said task of managing selected file systemincludes creating one or more file-folders structure on said selectedfile system, or includes selecting one file-folder or file at a timefrom said displayed list of one or more file-folders or files to performtask such as renaming, deleting, moving, or copying/pasting file-folderor file.
 70. The claim 69 wherein said task of moving or copying/pastinga file-folder or file further includes: selecting a targeted file-folderon a targeted file server to perform and submit said task, wherein ifsaid targeted file server is same as said selected file server, saidselected file-folder or file will be move to or copy to said targetedfolder on same system, and if said targeted file server is another fileserver in the pool, said selected file-folder or file will betransferred to targeted file-folder of said another file server, whereinsaid file transferring having no size limits between any two fileservers in said virtual file server pool.
 71. The claim 68 furtherincludes: provide privileged user to select one file server at a timefrom displayed information list of file servers to perform task ofobtaining and monitoring status of selected file server in the pool,wherein said status includes system name, OS type and version andrelease date, number of CPU, and the type, speed, vendor, usage of CPU,system's load and load average, total number of threads or processesrunning on system, total memory and used memory, total networkinterfaces and their status, total number of storage devices and theircapacity.
 72. The method of claim 63, wherein said instructing controlstation to receiving and distributing each requested task of saidaccessing or managing virtual file server pool to be executed ontargeted systems in said pool further includes: obtaining associatedlocks to protect resources associated with each said task including anuser space task list, parsing, and storing information of each submittedtask into a valid entry on said an user space task list; distributingeach task into background and to be executed on targeted system andproviding response back to each corresponding UI screen regardlesswhether each task is finished or not in responding to each correspondingtask being submitted; and releasing said associated locks along witheach said task execution and clearing up each task information incorresponding entry of said user space task list after each said task iscompletely finished; and wherein said targeted system can be controlstation or any file server.
 73. The claim 72 further includes:distributing said task to said targeted system based on the capacity ofsaid targeted system; distributing said task to a specific file serverin pool for execution if said targeted system is a file server, whereinsaid file server creates one or more thread to execute said task;distributing said task on control system for execution if said targetedsystem is control station and said control station creates one or morethread to execute said task; obtaining the status of said task executingon said targeted system, wherein said status can be the indication ofthe fail or success of a said task execution or a location of the taskresult will be resided or the actual task result; and encoding said taskstatus into a response with any suitable or a combination of suitableprogramming languages such as C, C++, Java, Javascript, HTML, XML, WMLto be displayed in corresponding UI screen that initiated said task. 74.The claim 73 further includes: instructing each file server directlydelivering file accessing service to one or more users at each of theirown UI screen independent of other file servers in the pool and withoutgoing through the control station if said targeted system is a fileserver and said task is for file accessing.
 75. The method of claim 63,wherein said updating and displaying said virtual file server pool inresponse to status changing of one or more file servers in virtual fileserver pool further includes: updating said virtual file system pool inresponse to disconnecting an active file server in pool from saidcommunications network in an event of said active file server beingshutdown or its connecting link is down; updating said virtual fileserver pool in response to connecting a new file server to saidcommunications network; updating said virtual file server pool inresponse to changing of status for an active file server; updating saidvirtual file server pool in response to activate a spare file server inthe event of any file server having fault or in the event of virtualfile server pool having reach its capacity; updating said virtual fileserver pool in response to partition storage devices into one ormultiple storage volumes for an active system unit via tasks performedby user at web-browser based console system; and encoding information ofupdated virtual file server pool with any suitable or a combination ofsuitable programming languages such as C, C++, Java, Javascript, HTML,XML, WML and displaying said encoded information into correspondinguser's UI screen.
 76. A computer system with ability of automaticbuilding a web-based central controlled distributed scalable virtualfile server system for providing file accessing, sharing and managementservice comprising: a control station connects to a plurality of one ormultiple system units (“file server”), and to be accessed by a pluralityof one or more users from one or more client systems or console systemsover a network of LAN, Intranet or Internet; a means for control stationto automatically detecting and collecting resources and statusinformation of said plurality of file servers during each file server'sboot-time to form a virtual file server pool via a sequence of combinedUDP/TCP/IP protocols over said network, wherein said pool includes oneor more spare file servers; a means for control station to displayingpermitted resource or status information of virtual file server poolinto an user interface (“UI”) screen on said plurality of client systemsor console systems, and providing said users from each of their own UIscreen to perform and submit task of accessing or managing virtual fileserver pool, wherein one or more tasks can run concurrently in each saidUI screen; and a means for control station to receiving and distributingeach requested task of said accessing or managing virtual file serverpool to be executed on targeted systems in said pool, and updating saidvirtual file server pool in response to status changing of one or morefile servers in virtual file server pool, wherein each said file servercan provide file services to each user directly independent of otherfile servers in pool and without going through control station.